Rechargeable multi-cell battery

ABSTRACT

A method for power management of a multi-cell battery includes identifying a desired power value and voltage value, determining a battery voltage value and a battery current value for a battery, determining a number of battery banks from a plurality of battery banks to use for the battery, where each battery bank includes one or more battery cells (or battery modules), checking availability of each of the one or more battery cells (or battery modules), selecting one or more battery banks from the plurality of battery banks, where the selection of a battery bank is based on the availability of the battery cells (or battery modules) included in the battery pack, and a quantity of the selected battery banks is equal to the determined number of battery banks, and connecting the available battery cells (or battery modules) in the selected one or more battery banks to form the battery.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. §119(e)(1), to U.S.Provisional Application Ser. No. 61/652,398, filed on May 29, 2012, theentire contents of which are incorporated herein.

FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

This invention was made with government support under CAREER AwardECCS-0954938, awarded by the United States National Science Foundation,and Agreement No. DTFH61-10-H-00003, awarded by the United StatesFederal Highway Administration. The government has certain rights in theinvention.

TECHNICAL FIELD

This specification generally describes systems and processes for powermanagement of a rechargeable multi-cell battery.

BACKGROUND

Many types of electrical and electronic based systems may userechargeable multi-cell batteries. These systems can include, forexample, renewable energy systems, electric vehicles, hybrid electricvehicles, and commercial electronics. Many battery cell technologies(e.g., lead-acid, nickel-cadmium (NiCd), nickel metal hydride (NiMH),lithium-ion, Lithium Iron Phosphate (LiFePO4) and nano Lithium TitanateOxide (nLTO)) can provide the energy storage needed for the systems.

Several design deficiencies in currently available fixed configurationrechargeable multi-cell battery systems have impeded the use ofrechargeable multi-cell batteries for large-scale energy storage in maytypes of electrical systems. For example, implementations ofrechargeable multi-cell batteries can use a fixed configuration toconnect multiple cells or modules in series and parallel duringoperation of the electrical system in order to provide the system withthe required voltage and current. The use of a fixed configuration forthe cells of the battery may result in low reliability and faulttolerance during abnormal operating conditions of the battery, such ashigh temperature, overcharge, over-discharge, or over-current. Whenusing a fixed configuration, failure of any single cell or module in themulti-cell battery during operation of the electrical system may resultin the cutoff or failure of the entire multi-cell battery. In anotherexample, the use of a fixed configuration may not provide for efficientutilization of cell state variations, which can result in less thanoptimal energy conversion by the multi-cell battery. In another example,the use of a fixed configuration may not allow for flexible dynamicpower management, which can result in less than optimal performance ofthe electrical system using the battery.

In some implementations, an electrical system that uses a rechargeablemulti-cell battery can include one or more safety circuits. The safetycircuits can monitor the temperature, voltage, and current of eachbattery cell, identifying faulty or abnormal cells in the multi-cellbattery, resulting in the protection of the battery from hightemperature, overcharge, over-discharge, over-current, and the failureof any of the battery's cells or modules. The safety circuits canprotect battery cells from operating under abnormal conditions. Thesafety circuits, however, will disconnect the entire rechargeablemulti-cell battery from the electrical system when any single cell inthe battery operates in any one of the abnormal conditions, as thesafety circuit cannot provide an effective reconfiguration topology forthe multi-cell battery that would make use of the remaining functionalbattery cells.

In some implementations, an electrical system that uses a rechargeablemulti-cell battery can include one or more cell balancing circuits.Because cell unbalance or state variations in a multi-cell battery canoccur, in the fixed-configuration multi-cell battery only a part of thetotal capacity of the multi-cell battery can be utilized, resulting in areduction in the useable capacity, and operating time and lifespan ofthe multi-cell battery. For example, as a solution to cell statevariations in a multi-cell battery, cell balancing circuits can useelectronic converters to transfer charge from one battery cell toanother battery cell during the operation of the battery in theelectrical system effectively balancing the state of charge (SOC) of thebattery cells in the cell string. Cell balancing circuits transfercharges between adjacent battery cells using small currents, which canlead to slow and less than optimal battery cell balancing in themulti-cell battery. In addition, cell balancing circuits may usedissipative resistors resulting in system energy loss, may increase thecost and volume of a battery system due to the need for additionalcircuitry, and may only be used with multi-cell batteries where themultiple battery cells are connected in series.

In many cases, cell balancing circuits cannot provide the neededreconfiguration of the battery cells in a multi-cell rechargeablebattery pack when faulty cells are detected. In some implementations,reconfigurable multi-cell battery topologies can include complex cellswitching circuits that provide the power management needed for arechargeable multi-cell battery in an electrical system. Thesereconfigurable multi-cell battery topologies may be too complex forbattery systems that include a large number of battery cells due to thehigh complexity of the cell switching circuits.

SUMMARY

In some implementations, a power management system for a rechargeablemulti-cell battery pack can include a switching circuit that connectsmultiple battery cells or battery modules in series and in parallel toform a reconfigurable battery pack during electrical system operationthat provides the required voltage and current, respectively, for theelectrical system. A battery module in the battery pack can includemultiple battery cells connected in series and/or in parallel. Theswitching circuit can include high-efficiency controllable powersemiconductor devices along with the gate drive circuits for thedevices, where the devices function as switches. Each battery cell ormodule is associated with one or more switches that can be turned on oroff to independently control the charge, discharge, and cutoff state ofthe battery cell or module.

The power management system of the reconfigurable multi-cell batterypack can also include a controller that provides the on or off state foreach switch. The controller can further include one or more processorsthat can be programmed to receive a set of real-time operating data(e.g., values for the voltage, current, and temperature of a batterycell or module) measured at each battery cell or module. The one or moreprocessors can be programmed to use the received data in order todetermine the condition (e.g., state of charge (SOC), state of health(SOH)) of the battery cell or module. The one or more processors canalso be programmed to determine, in real time, an operating mode foreach battery cell or module based on the determined condition of thebattery cell or module, and the power demand from the load connected tothe battery pack or the power supplied by the source connected to thebattery pack. The battery management system can also include a signalgenerator that generates control signals for the gate drive circuits ofthe controllable power semiconductor devices, where the control signalsturn the devices on or off, resulting in the switching of thecorresponding battery cells or modules into a pre-determined mode ofoperation.

In general, one innovative aspect of the subject matter described inthis specification may be embodied in systems and methods used foridentifying a desired power value and a desired voltage value,determining, based on the desired power value and the desired voltagevalue, a battery voltage value and a battery current value for abattery, determining, based on the battery voltage value and the batterycurrent value, a number of battery banks from a plurality of batterybanks to use for the battery, where each battery bank includes one ormore battery cells, checking, for each battery bank in the plurality ofbattery banks, availability of each of the one or more battery cellsincluded in the battery bank, selecting one or more battery banks fromthe plurality of battery banks, where the selection of a battery bank isbased on the availability of the battery cells included in the batterypack, and a quantity of the selected battery banks is equal to thedetermined number of battery banks, and connecting the available batterycells in the selected one or more battery banks to form the battery.

Other implementations of these aspects include corresponding systems andcomputer programs, configured to perform the actions of the methods,encoded on computer storage devices.

These and other implementations may each optionally include one or moreof the following features. For instance, the desired power value and thedesired voltage value are for a load condition, and the method furtherincludes determining that the load condition has changed, andidentifying, based on the change in the load condition, an updateddesired power value and an updated desired voltage value. The desiredpower value and the desired voltage value are for a source condition,and the method further includes determining that the source conditionhas changed, and identifying, based on the change in the sourcecondition, an updated desired power value and an updated desired voltagevalue. The method further includes determining that a predefined timeduration has ended, and identifying, based on determining that apredefined time duration has ended, an updated desired power value andan updated desired voltage value. Selecting one or more battery banksfrom the plurality of battery banks includes calculating, for eachbattery bank in the plurality of battery banks, the state of charge(SOC) and the state of health (SOH) of the battery bank, determining,based on the calculated SOC and SOH for each battery bank in theplurality of battery banks, a pool of unselected battery banks,selecting a particular battery bank from the pool of unselected batterybanks, where the battery bank with the highest SOC and SOH is selectedas the particular battery bank when the battery is discharged to supplya load, and the battery bank with the lowest SOC and SOH is selected asthe particular battery bank when the battery is charged from a source.

In general, another innovative aspect of the subject matter described inthis specification may be embodied in systems that include a batterypack including a plurality of battery cells, where the battery cells arearranged in one or more battery banks, a cell switching circuitincluding one or more switches, the cell switching circuit configured tocontrol connecting each of the plurality of battery cells to form one ormore battery banks, and configured to control disconnecting each of theplurality of battery cells from a battery bank, and a battery managementsystem configured to provide control signals to the cell switchingcircuit that control the one or more switches included in the cellswitching circuit.

These and other implementations may each optionally include one or moreof the following features. For instance, the cell switching circuit isfurther configured to control disconnecting and connecting each of theone or more battery banks from the battery. The battery cells areconnected in parallel to form the battery bank and the battery banks areconnected in series to form the battery. The one or more switchesincluded in the cell switching circuit are metal-oxide-semiconductorfield-effect transistors (MOSFETs). A bipolar junction transistor (BJT)provides a gate signal to a MOSFET to control turning the MOSFET on oroff to connect or disconnect, respectively, a battery cell in a batterybank. An opto-coupler provides a gate signal to a MOSFET to controlturning the MOSFET on or off to connect or disconnect, respectively, abattery cell in a battery bank. The battery management system includes asensing and monitoring circuit configured to monitor current statevalues for each of the plurality of battery cells, a control andprotection module configured to determine, based on the current statevalues for each of the plurality of battery cells, that a particularbattery cell should be disconnected from a particular battery bank orconnected to a particular battery bank for charging or discharging, anda gate signal generation module configured to generate one or morecontrol signals for use by the cell switching circuit when disconnectingthe particular battery cell from the particular battery bank orconnecting the particular battery cell to the particular battery bankfor charging or discharging. The battery management system furtherincludes a model-based state of charge (SOC) and state of health (SOH)tracking module configured to track the SOC and SOH of each of theplurality of battery cells. Determining that a particular battery cellshould be connected to or disconnected from a particular battery bank isbased on the SOC and the SOH for the particular battery cell.

In general, another innovative aspect of the subject matter described inthis specification may be embodied in systems that include a batterypack including a plurality of battery modules, where a battery moduleincludes multiple battery cells connected in series or in parallel or inseries and in parallel, and the plurality of battery modules arearranged in one or more battery banks, a cell switching circuitincluding one or more switches, the cell switching circuit configured tocontrol connecting each of the plurality of battery modules to form oneor more battery banks, and configured to control disconnecting each ofthe plurality of battery modules from a battery bank, and a batterymanagement system configured to provide control signals to the cellswitching circuit that control the one or more switches included in thecell switching circuit.

These and other implementations may each optionally include one or moreof the following features. For instance, the cell switching circuit isfurther configured to control disconnecting and connecting each of theone or more battery banks from the battery. The battery modules areconnected in parallel to form the battery bank and the battery banks areconnected in series to form the battery. The one or more switchesincluded in the cell switching circuit are metal-oxide-semiconductorfield-effect transistors (MOSFETs). A bipolar junction transistor (BJT)provides a gate signal to a MOSFET to control turning the MOSFET on oroff to connect or disconnect, respectively, a battery module in abattery bank. An opto-coupler provides a gate signal to a MOSFET tocontrol turning the MOSFET on or off to connect or disconnect,respectively, a battery module in a battery bank. The battery managementsystem includes a sensing and monitoring circuit configured to monitorcurrent state values for each of the plurality of battery modules, acontrol and protection module configured to determine, based on thecurrent state values for each of the plurality of battery modules, thata particular battery module should be disconnected from a particularbattery bank or connected to a particular battery bank for charging ordischarging, and a gate signal generation module configured to generateone or more control signals for use by the cell switching circuit whendisconnecting the particular battery module from the particular batterybank or connecting the particular battery module to the particularbattery bank for charging or discharging. The battery management systemfurther includes a model-based state of charge (SOC) and state of health(SOH) tracking module configured to track the SOC and SOH of each of theplurality of battery modules. Determining that a particular batterymodule should be connected to or disconnected from a particular batterybank is based on the SOC and the SOH for the particular battery module.

Particular implementations of the subject matter described in thisspecification may be provided so as to realize one or more of thefollowing advantages. A battery management system can dynamicallyreconfigure the rechargeable cells in a battery pack based on thedynamic load and/or storage demands of the electrical system and thecondition of each battery cell or module in the battery pack. Thebattery management system can allow the battery pack to self-heal fromthe failure or abnormal operation of single or multiple battery cells,to self-balance from battery cell or module state variations, and toself-optimize in order to achieve optimal energy conversion efficiencybased on the load and/or storage demands for the battery pack. Theproposed switching circuit topology in the battery management systemresults in a minimal number of switches, reducing the cost, complexity,power requirements, and amount of control needed by the batterymanagement system in order to dynamically reconfigure the rechargeablecells in the battery pack. Cell switching circuits can include powersemiconductor switches where a switch can switch a battery cell in andout of a battery system included in a battery pack. Gate drive circuitscan be designed to efficiently control the switching of each of thepower semiconductor switches in a cell switching circuit.

The details of one or more implementations of the subject matterdescribed in this specification are set forth in the accompanyingdrawings, and the description, below. Other features, aspects andadvantages of the subject matter will be apparent from the descriptionand drawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of an example power management system thatincludes a switching circuit and a battery management system for arechargeable multi-cell battery pack.

FIG. 2 is a block diagram of an example battery management system foruse in a power management system.

FIG. 3 is a block diagram of an example switching circuit topology for abattery pack.

FIG. 4A is a schematic of an example implementation of a switchingcircuit for a battery cell or module for use in a power managementsystem.

FIG. 4B is a schematic of an alternative example implementation of aswitching circuit for a battery cell or module for use in a powermanagement system.

FIG. 5A is a flow diagram illustrating an example process for a controlcycle executed by a control and protection module included in a batterymanagement system.

FIG. 5B is a flow diagram illustrating an example process 550 forselecting a number of battery banks for use in a battery pack.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

In the following text, a detailed description of examples will be givenwith reference to the drawings. It should be understood that variousmodifications to the examples may be made. In particular, elements ofone example may be combined and used in other examples to form newexamples.

FIG. 1 is a block diagram of an example power management system 100 thatincludes a switching circuit 104 and a battery management system 106 fora rechargeable multi-cell battery pack 102. The battery pack 102includes battery cells G₁₁ to C_(mn). In the example of FIG. 1, thebattery cells are arranged in the battery pack 102 as n number ofbattery cells in m number of banks. In some cases, the battery cells arereplaced by battery modules where each battery module includes multiplebattery cells connected in series and/or in parallel. The switchingcircuit 104 includes switches S₁₁ to S_(mn) associated with batterycells C₁₁ to C_(mn), respectively. In addition, the switching circuit104 includes switches S₁ to S_(m) associated with each battery cell inbanks 1 to m, respectively. The switches S₁₁ to S_(mn) and S₁ to S_(m)control the discharge, charge, and cutoff state of each battery cell G₁₁to C_(mn).

Each switch S₁₁ to S_(mn) and S₁ to S_(m) in the switching circuit 104can be implemented using high-efficiency controllable powersemiconductor devices along with the gate drive circuits for thedevices. The battery management system 106 can include a controller andadditional circuitry that provides the gate control signals for thesemiconductor devices included in the switching circuit 104. The batterymanagement system 106 can determine the gate control signals based onthe condition of each battery cell or module, the condition determinedusing real-time data measured at each battery cell or module that isreceived by the battery management system 106. The switches S₁₁ toS_(mn) and S₁ to S_(m) in the switching circuit 104 can control theswitching of the battery cells C₁₁ to C_(mn), providing the requiredvoltage and current at battery terminals 110 a-b to the electricalsystem.

An external system 108 can be, for example, a bidirectional dc-dcconverter that provides an interface between the battery managementsystem 106 and a load and source. The external system 108 can provideinput requirements for voltage and current values required for theoperation of the electrical system that the battery management system106 can use for determining how to control the charge and discharge ofthe cells included in the battery pack 102. In some implementations,nominal voltage and current values for a single battery cell may belimited to several volts and to tens of amperes, which can be much lowerthan the voltage and current values required by an electrical system inmany applications. The power management system 100 includes the batterypack 102 that includes multiple battery cells C₁₁ to C_(mn) arranged asa matrix of m×n cells. The battery management system 106 can dynamicallyconfigure a number of battery cells in the battery pack 102 using theswitching circuit during the operation of the electrical system. Thenumber of battery cells switched in or connected together in the batterypack 102 at a given time can be determined based on the voltage andcurrent value requirements of the external system.

FIG. 2 is a block diagram of an example battery management system 200for use in a power management system. For example, the batterymanagement system 200 can be the battery management system 106 used inthe power management system 100 shown in FIG. 1. The battery managementsystem 200 includes a sensing and monitoring circuit 202, a gate signalgeneration module 204, a control and protection module 206, and amodel-based SOC and SOH tracking module 208. In addition, the batterymanagement system 200 interfaces with an external system 210 included inan electrical system that uses a battery and a cell switching circuit212 for switching the cells included in a battery pack in order toprovide the voltage and current values required by the electricalsystem.

The sensing and monitoring circuit 202 monitors the voltage, current,and temperature values for each battery cell. The control and protectionmodule 206 receives the monitored values for each battery cell. Thecontrol and protection module 206 determines, based on the receivedvalues for a battery cell, if the battery cell needs protection from anabnormal condition that can include, but is limited to, anovercharge/over-discharge, over-current, or over-temperature condition.If the control and protection module 206 determines that any of theseabnormal conditions occur in a battery cell, the control and protectionmodule 206 provides the gate signal generation module 204 with theinformation needed for the gate signal generation module 204 to generatethe control signals needed by a cell switching circuit 212 to cut off,disconnect or “switch-out” the abnormal battery cell from the otherbattery cells included in the battery pack. The remaining battery cellsin the battery pack can still be used to supply and/or store power. Thisresults in the power management system effectively “self-healing” fromabnormal conditions or failures of cells in the battery pack.

The model-based SOC and SOH tracking module 208 tracks the SOC and SOHof each battery cell. The model-based SOC and SOH tracking module 208receives the voltage, current, and temperature values for each batterycell from the sensing and monitoring circuit 202. The model-based SOCand SOH tracking module 208 determines the SOC and SOH of a battery cellbased on the received voltage, current, and temperature values for thebattery cell. The model-based SOC and SOH tracking module 208 providesthe SOC and SOH of the battery cell, respectively, to the control andprotection module 206. The control and protection module 206 determinesthe best cell configuration for the battery pack based on dynamicload/storage demand information received from the external system 210and the determined SOC and SOH of each battery cell in the battery packreceived from the model-based SOC and SOH tracking module 208. Thecontrol and protection module 206 identifies a best memory cellconfiguration that achieves an optimal energy conversion efficiency ofthe battery pack along with a “self-balancing” of the cells in thebattery pack based on cell state variations as indicated by the SOC andSOH of each battery cell. The control and protection module 206 providesinformation for the best memory cell configuration to the gate signalgeneration module 204. The gate signal generation module 204 generatesappropriate gate control signals and provides the signals to the gatedrive circuits of the power semiconductor devices located in the cellswitching circuit 212. The gate control signals control the gate drivecircuit of each power semiconductor device associated with a respectivebattery cell, in order to switch the battery cell in or out of usewithin the battery pack.

FIG. 3 is a block diagram of an example switching circuit topology 300for a battery pack (e.g., the battery pack 102 in FIG. 1). The topology300 shows a battery pack that includes battery cells C₁₁ to C_(mn)arranged as a matrix of m×n cells. The topology 300 also shows switchesS₁₁ to S_(mn) and switches S₁ to S_(m) that control the discharge,charge, and cutoff state of each battery cell C₁₁ to C_(mn).

In the example of FIG. 3, n cells are connected in parallel to form acell bank that provides higher currents, and m banks are connected inseries to step up the voltage at terminals 302 a-b of the battery. Thecell switching circuit is formed by m×(n+1) controllable switches. Eachcell uses one switch (e.g., the switch S_(ij) for battery cell C_(ij),for i=1, . . . , m and j=1, . . . , n), which turns on (closes) or off(opens) to connect or cut off (disconnect) the cell from the batterypack, respectively. In addition, if switch S_(ij) is on (closed), theswitch S_(ij) can conduct the current of the respective battery cellC_(ij) in two directions to charge/discharge the cell. Additionalswitches S₁ to S_(m) are used where a switch S_(i) (i=1, . . . , m) isoff (open) if any of the switches (S_(i1) to S_(in)) in bank i is on(closed). If all of the switches in bank i (i=1, . . . , n) are off(opened), then switch S_(i) should be turned on (closed). Turning switchS_(i) on (closing switch S_(i)) ensures that the battery cells in lowerrows (S_((i+1)1), . . . , S_((i+1)n), . . . , S_(m1), . . . , S_(mn))can be connected to supply (discharge) or store (charge) energy throughthe terminals 302 a-b of the battery. The switching circuit topology 300ensures that each cell in the battery pack can be controlledindependently in three modes, i.e., off, on/charge, and on/discharge.

In some implementations, low-cost, high-efficiency powermetal-oxide-semiconductor field-effect transistors (MOSFETs) are used toimplement the switches in the cell switching circuit. The power MOSFETscan conduct bidirectional currents and have a negligible conduction lossbecause of their negligible “on” resistance.

FIG. 4A is a schematic of an example implementation of a switchingcircuit 400 for a battery cell or module for use in a power managementsystem. Referring to FIG. 3, FIG. 4A shows n-channel power MOSFETs(e.g., MOSFET 402) for use as switches S_(ij) (i=1, . . . , m and j=1, .. . , n) and p-channel power MOSFETs (e.g., MOSFET 404) for use asswitches S_(i) (i=1, . . . , m). Switches S_(ij) (i=1, . . . , m andj=1, . . . , n) use gate drive circuit 406 and switches Si (i=1, . . . ,m) use gate drive circuit 408. Each gate drive circuit 406, 408 usessmall signal bipolar junction transistors (BJTs) (e.g., BJTs 410 a-c,BJT 412). As shown in FIG. 4A, an anode of a body diode 402 a of theMOSFET 402 is connected to a negative terminal 414 of cell C_(ij). Thisconnection can block any unwanted discharges of the cell C_(ij). Acathode of a body diode 404 a of MOSFET 404 is connected to a positiveterminal 416 of the cell C_(ij). This connection prohibits any unwantedcharges of the cell C_(ij), when cell C_(ij) is connected (switch S_(ij)is on (closed)), from flowing through the body diode and into banks i+1,. . . , m. A signal generator 424 generates signals 426, 428. Signal 426is applied to the base of BJT 410 a and signal 428 is applied to thebase of BJT 410 b and BJT 410 c.

The gate drive circuit 406 uses the voltage of Cell C_(ij) to turn onthe n-channel power MOSFET 402, requiring no additional voltage source.When BJT 410 a turns on, it drives BJT 412 on, which turns on MOSFET 402by using the voltage of Cell C_(ij). Turning on MOSFET 402 effectivelycloses the switch S_(ij). Turning off the MOSFET 402 (opening the switchS_(ij)) is accomplished by turning off BJT 410 a while turning on BJT410 b, which discharges the parasitic capacitor between the gate andsource terminals of MOSFET 402. When BJT 410 c turns on, it provides agate signal to turn on the MOSFET 404 (closing the switch S_(i)).Turning off the MOSFET 404 (opening the switch S_(i)) is accomplished byturning off BJT 410 c while turning on junction gate field-effecttransistor (JFET) 418. The value of resistor 420 can be chosen to belarge enough to ensure that the energy consumption of the gate drivecircuit 408 is negligible. A large value for resistor 420 can result ina slow turn-off for MOSFET 404 (a slow opening of switch S_(i)).However, the use of JFET 418 speeds up the turn-off of MOSFET 404(speeds up the opening of switch S_(i)) when the value of resistor 420is large. After MOSFET 404 is turned off, JFET 418 is also turned off.

In the implementation of the switching circuit 400, an n-channel MOSFETwith a low threshold voltage, V_(gs), (e.g., 1.5 Volts to approximately2.0 Volts) is used for MOSFET 402 because the voltage of cell C_(ij) isin the range of 3.0 Volts to 4.2 Volts. Two Zener diodes 420, 421, areused to limit the voltage between the source and the gate terminals ofMOSFET 402 and MOSFET 404, respectively.

In some implementations, each of the small signal BJTs (BJTs 410 a-c,and BJT 412) may be replaced with small-signal MOSFETs.

FIG. 4B is a schematic of an alternative example implementation of aswitching circuit 450 for a battery cell or module for use in a powermanagement system. Referring to FIG. 4A, opto-couplers 452, 454 are usedin place of the BJTs 410 a-c, and BJT 412. In the switching circuit 450,a negative terminal 456 of a battery cell C_(ij) is used as the virtualground for the gate drive circuits 458, 468. A signal generator 460generates gate signals 461, 462. Gate signals 461, 462 are applied tothe gate terminals of power MOSFETs 464, 466 through the correspondingopto-couplers 452, 454, respectively, to drive the power MOSFETs.Because the ground connections of the gate drive circuits 458, 468 andthe signal generator 460 are separate from that of the switching circuit450, the implementation of the switching circuit 450 can be used formulti-cell batteries that operate at any voltage levels. Referring toFIG. 4B, when transistor 470 turns on, it drives MOSFET 464 off (openingthe switch S_(ij)). When transistor 470 turns off, it drives MOSFET 464on (closing the switch S_(ij)). When transistor 472 turns on, itprovides a gate signal to MOSFET 466, turning the MOSFET 466 on (closingthe switch S_(i)). When transistor 472 turns off, it turns JFET 474 onand drives MOSFET 466 off (opening the switch S_(ij)). After MOSFET 466is turned off, JFET 474 is also turned off.

Referring to FIGS. 4A and 4B, the small-signal components in the gatedrive circuits 406, 408 and the gate drive circuits 458, 468 can beselected to ensure that the energy consumption of the gate drivecircuits 406, 408, 458, 468 are negligible compared to the energy flowin the cell. In addition, the small-signal components in the gate drivecircuits 406, 408 and the gate drive circuits 458, 468 can be selectedto ensure that there is no short circuit between switches S_(ij) andS_(i) during transient switching periods.

In some implementations, the switching circuits 400, 450 shown in FIGS.4A and 4B can also be used for cell module level switching, where eachcell module includes multiple battery cells connected in parallel and/orseries. In these implementations, individual cells in a battery cellpack are included in one or more modules. The battery cell pack and cellswitching circuit become a battery cell module pack and a moduleswitching circuit, respectively.

FIG. 5A is a flow diagram illustrating an example process 500 for acontrol cycle executed by a control and protection module included in abattery management system. For example, referring to FIG. 2, the controland protection module 206 included in the battery management system 200can execute the process 500.

The control cycle identifies the desired load and source (load/source)power and voltage values and the current condition of each of thebattery cells included in a battery pack. The control cycle takes intoaccount if a battery pack is in a self-healing state (self-healing froman abnormal state or failure of one or more battery cells included inthe battery pack). The control cycle also takes into account thebalancing of the SOCs of the battery cells in the battery pack. Based onthis information, the control cycle optimizes the use of the batterycells in the battery pack in order to achieve optimal energy conversionefficiency.

In some implementations, a battery system supplies power to a load at aconstant voltage and absorbs power from a constant voltage source. Asdescribed in FIG. 1, for example, an external system 108 can be abidirectional dc-dc converter that provides an interface between thebattery management system 106 and a load/source. The bidirectional dc-dcconverter can control the charge and discharge of the battery cellsincluded in the battery pack. A power management system (e.g., powermanagement system 100) can be implemented using variable voltages byusing k out of m battery banks simultaneously, where m=total number ofbattery banks and k=1, . . . , m. In some cases, one or more batterybanks may be disconnected from the battery pack for self-healing,self-optimization, and self-balancing during operation of the powermanagement system.

The process 500 begins by identifying the desired load/source power andvoltage values (502). For example, a control module and protectionmodule (e.g., the control and protection module 206 in FIG. 2) canidentify the power demand from the load or the power supplied by thesource as P_(d). The control and protection module can identify therequired voltage by the load/source as V_(req). Based on these values,the optimal values of a battery voltage (V_(d)) and a battery current(I_(d)) are determined (504), where P_(d)=V_(d)×I_(d). The battery canbe considered the result of the connection of one or more battery banksincluded in a battery pack, where each battery bank is the connection ofone or more battery cells in parallel. The determination of the optimalvalues of a battery voltage (V_(d)) and a battery current (I_(d)) can bebased on one or more factors. For example, the efficiency of a dc-dcconverter can depend on its power and duty cycle (its voltage gain).Based on this factor, the terminal voltage of the battery can be set toa value that allows the dc-dc converter to operate at a voltage gainthat leads to a maximum efficiency for the dc-dc converter. In additionor in the alternative, the battery current (I_(d)) can be set to a valuethat is the smallest possible value that allows the battery to meet theidentified load/source power value (P_(d)) while utilizing the ratecapacity effect of the battery cells to maximize the energy conversionefficiency of each battery cell included in the battery.

In some implementations, a table can store an optimal operating voltageand current for a battery for each load/source power and voltagecondition for the operating range of an external system. For example,referring to FIG. 1, the table can be created offline and stored inmemory included in the power management system 100 for the operatingrange of the external system 108. The power management system can usethe table to determine the optimal values of a battery voltage and abattery current based on a real-time operating condition of the externalsystem (i.e., the identified power demand from the load or the powersupplied by the source).

A number, k, of battery banks to use is determined (506). For example, anumber of battery banks, k, to be connected in a battery pack isdetermined, where k<=m, and m is equal to the total number of batterybanks included in the battery pack. The number of battery banks, k, isdetermined by dividing the identified required voltage (V_(d)) by theaverage voltage of each battery bank (V_(bank)): k=V_(d)/V_(bank).

The availability of the battery cells in each battery bank included inthe battery pack is checked (508). For example, the control andprotection module 206 checks the condition (SOH and SOC) of each batterycell. If a battery cell fails the check (e.g., the battery cell nolonger provides any current), is in an abnormal condition (e.g., anovercharge/over-discharge, over-current, or over-temperature condition),its SOH is lower than a predetermined lower limit (e.g., in a mild faultcondition), its SOC is lower than a predetermined lower limit (e.g., ina discharge mode), or its SOC is higher than a predetermined upper limit(e.g., in a charge mode), the battery cell is then disconnected from thebattery bank and subsequently the battery pack. The battery cells thatdo not fail the check are considered for use in supplying/storing theidentified load/source power.

A number, k, of battery banks is selected (510). In general, a selectionprocess determines a number of usable battery cells to connect in eachbattery bank and the specific battery banks to connect together for usein supplying/storing the identified load/source power. The selectionprocess will be discussed in more detail with reference to FIG. 5B. Theusable cells of each selected battery bank are connected (512).Control/protection signals are generated (514). The control/protectionsignals are generated if a load/source condition of the external systemchanges or if a predetermined time duration (T_(a)) is reached.

If it is determined that a load/source condition of the external systemhas changed (516), the process 500 begins again at step 502 to identifythe desired load/source power and voltage values for the externalsystem. If it is determined that a load/source condition of the externalsystem has not changed (516), if it is determined that a time duration(T_(s)) has not ended (518), the process 500 continues to step 512,again generating and checking the control/protection signals. If it isdetermined, that the time duration (T_(s)) has ended (518), the process500 begins again at step 502 to identify the desired load/source powerand voltage values for the external system.

The process 500 restarts or begins again at step 502 when either theload/source condition of the external system changes or the predefinedtime duration (T_(s)) ends. This allows for the continual balancing ofthe SOCs of the battery cells in the battery banks when in both a chargeand discharge mode of operation.

In the described implementations of a power management system, theidentified healthy battery cells in a selected battery bank can beconnected in parallel and used simultaneously to supply/store power.This allows the battery cell voltages to be equal to one another withinthe battery bank. In some cases, if the battery cells in a battery bankwere to have unequal voltages, a power management system can performbattery cell balancing for the battery bank. In a discharge mode, thebattery cell balancing can discharge the battery cells sequentially fromthe battery cell having the highest SOC until the battery cell voltagevalues for all of the battery cells in the bank become equal. In acharge mode, the battery cell balancing can charge the battery cellssequentially from the battery cell having the lowest SOC until thebattery cell voltage values of all the battery cells in the battery bankbecome equal. For example, referring to FIG. 2, the gate signalgeneration module 204 can generate the appropriate control signals tocontrol the cell switching circuit 212 based on information it receivesfrom the control and protection module 206.

In some implementations, the time duration (T_(s)) can affect theperformance of the battery pack in the power management system. Ingeneral, the operating time of a battery increases with a decrease inthe time duration (T_(s)). Using a small value for the time duration(T_(s)) can result in frequent switching of the devices included in acell switching circuit (e.g., the high-efficiency power MOSFETs includedin a cell switching circuit (e.g., switching circuit 400 and switchingcircuit 450 as shown in FIGS. 4A and 4B, respectively). The frequentswitching can result in the switching loss of the cell switchingcircuit.

The selection of the time duration (T_(s)) can be such that the SOCs ofall m battery banks included in a battery pack are balanced before anysingle battery bank is fully charged in a charge mode of operation orbefore any single battery bank is fully discharged in a discharge modeof operation. The value of the time duration (T_(s)) can be calculatedas:

${T_{S} = {\frac{3600}{I}ϰ\; \delta}},$

where T_(s) is in seconds, I is the normalized battery bank current incoulombs/second, and δ is a percentage. If the SOC of all of the batterybanks is above a predetermined low threshold percentage (e.g., 10%) in adischarge mode of operation, or below a predetermined high thresholdpercentage (e.g., 90%) in a charge mode of operation, a large value forδ (e.g., 5%) is selected. Alternatively, if the SOC of all of thebattery banks is below the predetermined low threshold percentage (e.g.,10%) in a discharge mode of operation, or above a predetermined highthreshold percentage (e.g., 90%) in a charge mode of operation, a smallvalue for δ (e.g., 0.5%) is selected.

FIG. 5B is a flow diagram illustrating an example process 550 forselecting a number of battery banks for use in a battery pack. Forexample, referring to FIGS. 5A and 2, the control and protection module206 included in the battery management system 200 when executing theprocess 500 and specifically when performing step 510 can execute theprocess 550.

In order to select a number, k, of battery banks, the process 550calculates the SOC and SOH of each battery bank included in a batterypack (552). As described with reference to FIG. 5A, if the battery checkdetermines that a cell fails the check, the failed battery cell isconsidered unusable and is disconnected from the battery bank andsubsequently the battery pack. In checking each battery cell, the SOC ofeach battery cell is calculated. If a battery cell's SOC is lower than apredetermined lower limit (e.g., in a discharge mode), or if a batterycell's SOC is higher than a predetermined upper limit (e.g., in a chargemode), the battery cell is disconnected from the battery. The remainingusable battery cells are considered when calculating the SOC of abattery bank.

The calculated SOCs of the usable battery banks (those battery banksthat include at least one usable battery cell) are sorted in adescending numerical order, where the SOC of a battery bank (SOC_(b)) iscalculated as:

${{SOC}_{b} = {\frac{1}{n}{\sum\limits_{i = 1}^{n}\; {SOC}_{i}}}},$

where SOC_(i) is the SOC of the i^(th) battery cell in the battery bank.The SOC of a battery cell that is disconnected from the battery bank isset equal to zero.

A battery bank is selected from a pool of unselected battery banks(554). For example, the usable battery banks can be included in a poolof unselected battery banks, where n_(bp) is the number of battery banksincluded in the unselected pool of battery banks. The number, k, ofbattery banks to use in order to provide the identified desiredload/source power and voltage values to the external system can beselected from the pool of unselected battery banks where n_(bp)>=k. Forexample, the control and protection module can select k banks with thehighest SOCs for use by the power management system when the externalsystem is in a discharge mode. In the alternative, for example, thecontrol and protection module can select the k banks with the lowestSOCs for use by the power management system when the external system isin a charge mode. The example process 550 for selecting battery bankscan balance the SOCs of the battery banks during the operation of theexternal system when the battery banks have different SOCs.

It is determined if the rated battery current for a battery bank is lessthan the desired battery current (556). For example, in order for abattery bank to be considered for selection, the identified desiredbattery current (I_(d)) must be less than or equal to a rated batterycurrent (I_(br)) for the battery bank: I_(d)<=I_(br), andI_(br)=n_(a)×I_(ar), where n_(a) is the number of usable battery cellsin the battery bank and I_(cr) is the rated current of each battery cellincluded in the battery bank. All of the useable parallel battery cellsin each selected battery bank can be used to simultaneouslycharge/discharge with continuous currents.

If it is determined that the rated battery current for a battery bank isgreater than or equal to the desired battery current (556), the batterybank is added to a pool of selected battery banks (558). If it isdetermined that the rated battery current for a battery bank is lessthan the desired battery current (556), the process 550 proceeds to step554 to consider selection of a different battery bank from the pool ofunselected battery banks.

If is determined that the number of battery banks in the pool ofselected battery banks is equal to the determined number, k, of batterybanks needed in order to provide the identified desired load/sourcepower and voltage values to the external system (560), the process 550ends. If it is determined that the number of battery banks in the poolof selected battery banks is not equal to the determined number, k, ofbattery banks, the process 550 continues to step 554, selecting adifferent battery bank from the pool of unselected battery banks forpossible addition to the selected pool of battery banks.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications may be made without departingfrom the spirit and scope of the disclosure. For example, various formsof the flows shown above may be used, with steps re-ordered, added, orremoved. Accordingly, other implementations are within the scope of thefollowing claims.

Implementations and all of the functional operations described in thisspecification may be implemented in digital electronic circuitry, or incomputer software, firmware, or hardware, including the structuresdisclosed in this specification and their structural equivalents, or incombinations of one or more of them. Implementations may be implementedas one or more computer program products, i.e., one or more modules ofcomputer program instructions encoded on a computer readable medium forexecution by, or to control the operation of, data processing apparatus.The computer readable medium may be a machine-readable storage device, amachine-readable storage substrate, a memory device, a composition ofmatter effecting a machine-readable propagated signal, or a combinationof one or more of them. The term “computing system” encompasses allapparatus, devices, and machines for processing data, including by wayof example a programmable processor, a computer, or multiple processorsor computers. The apparatus may include, in addition to hardware, codethat creates an execution environment for the computer program inquestion, e.g., code that constitutes processor firmware, a protocolstack, a database management system, an operating system, or acombination of one or more of them. A propagated signal is anartificially generated signal, e.g., a machine-generated electrical,optical, or electromagnetic signal that is generated to encodeinformation for transmission to suitable receiver apparatus.

A computer program (also known as a program, software, softwareapplication, script, or code) may be written in any appropriate form ofprogramming language, including compiled or interpreted languages, andit may be deployed in any appropriate form, including as a stand aloneprogram or as a module, component, subroutine, or other unit suitablefor use in a computing environment. A computer program does notnecessarily correspond to a file in a file system. A program may bestored in a portion of a file that holds other programs or data (e.g.,one or more scripts stored in a markup language document), in a singlefile dedicated to the program in question, or in multiple coordinatedfiles (e.g., files that store one or more modules, sub programs, orportions of code). A computer program may be deployed to be executed onone computer or on multiple computers that are located at one site ordistributed across multiple sites and interconnected by a communicationnetwork.

The processes and logic flows described in this specification may beperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output. The processes and logic flows may also be performedby, and apparatus may also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any appropriate kind of digital computer.Generally, a processor will receive instructions and data from a readonly memory or a random access memory or both. The essential elements ofa computer are a processor for performing instructions and one or morememory devices for storing instructions and data. Generally, a computerwill also include, or be operatively coupled to receive data from ortransfer data to, or both, one or more mass storage devices for storingdata, e.g., magnetic, magneto optical disks, or optical disks. However,a computer need not have such devices. Moreover, a computer may beembedded in another device, e.g., a mobile telephone, a personal digitalassistant (PDA), a mobile audio player, a Global Positioning System(GPS) receiver, to name just a few. Computer readable media suitable forstoring computer program instructions and data include all forms of nonvolatile memory, media and memory devices, including by way of examplesemiconductor memory devices, e.g., EPROM, EEPROM, and flash memorydevices; magnetic disks, e.g., internal hard disks or removable disks;magneto optical disks; and CD ROM and DVD-ROM disks. The processor andthe memory may be supplemented by, or incorporated in, special purposelogic circuitry.

While this specification contains many specifics, these should not beconstrued as limitations on the scope of the disclosure or of what maybe claimed, but rather as descriptions of features specific toparticular implementations. Certain features that are described in thisspecification in the context of separate implementations may also beimplemented in combination in a single implementation. Conversely,various features that are described in the context of a singleimplementation may also be implemented in multiple implementationsseparately or in any suitable subcombination. Moreover, althoughfeatures may be described above as acting in certain combinations andeven initially claimed as such, one or more features from a claimedcombination may in some cases be excised from the combination, and theclaimed combination may be directed to a subcombination or variation ofa subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understood as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the implementations described above should not beunderstood as requiring such separation in all implementations, and itshould be understood that the described program components and systemsmay generally be integrated together in a single software product orpackaged into multiple software products.

Thus, particular implementations have been described. Otherimplementations are within the scope of the following claims. Forexample, the actions recited in the claims may be performed in adifferent order and still achieve desirable results.

What is claimed is:
 1. A method comprising: identifying a desired powervalue and a desired voltage value; determining, based on the desiredpower value and the desired voltage value, a battery voltage value and abattery current value for a battery; determining, based on the batteryvoltage value and the battery current value, a number of battery banksfrom a plurality of battery banks to use for the battery, wherein eachbattery bank includes one or more battery cells; checking, for eachbattery bank in the plurality of battery banks, availability of each ofthe one or more battery cells included in the battery bank; selectingone or more battery banks from the plurality of battery banks, wherein:the selection of a battery bank is based on the availability of thebattery cells included in the battery bank, and a quantity of theselected battery banks is equal to the determined number of batterybanks; and connecting the available battery cells in the selected one ormore battery banks to form the battery.
 2. The method of claim 1,wherein the desired power value and the desired voltage value are for aload condition, and the method further comprises: determining that theload condition has changed; and identifying, based on the change in theload condition, an updated desired power value and an updated desiredvoltage value.
 3. The method of claim 1, wherein the desired power valueand the desired voltage value are for a source condition, and the methodfurther comprises: determining that the source condition has changed;and identifying, based on the change in the source condition, an updateddesired power value and an updated desired voltage value.
 4. The methodof claim 1, further comprising: determining that a predefined timeduration has ended; and identifying, based on determining that apredefined time duration has ended, an updated desired power value andan updated desired voltage value.
 5. The method of claim 1, whereinselecting one or more battery banks from the plurality of battery bankscomprises: calculating, for each battery bank in the plurality ofbattery banks, a state of charge (SOC) and state of health (SOH) of thebattery bank; determining, based on the calculated SOC and SOH for eachbattery bank in the plurality of battery banks, a pool of unselectedbattery banks; and selecting a particular battery bank from the pool ofunselected battery banks, wherein: the battery bank with a highest SOCand SOH is selected as the particular battery bank when the battery isdischarged to supply a load, and the battery bank with a lowest SOC andSOH is selected as the particular battery bank when the battery ischarged from a source.
 6. A system comprising: a battery managementsystem including one or more processors; and a computer-readable mediumcoupled to the one or more processors having instructions stored thereonwhich, when executed by the one or more computers, cause the one or moreprocessors to perform operations comprising: identifying a desired powervalue and a desired voltage value; determining, based on the desiredpower value and the desired voltage value, a battery voltage value and abattery current value for a battery; determining, based on the batteryvoltage value and the battery current value, a number of battery banksfrom a plurality of battery banks to use for the battery, wherein eachbattery bank includes one or more battery cells; checking, for eachbattery bank in the plurality of battery banks, availability of each ofthe one or more battery cells included in the battery bank; selectingone or more battery banks from the plurality of battery banks, wherein:the selection of a battery bank is based on the availability of thebattery cells included in the battery bank, and a quantity of theselected battery banks is equal to the determined number of batterybanks; and connecting the available battery cells in the selected one ormore battery banks to form the battery.
 7. The system of claim 6,wherein the desired power value and the desired voltage value are for aload condition, and the operations further comprise: determining thatthe load condition has changed; and identifying, based on the change inthe load condition, an updated desired power value and an updateddesired voltage value.
 8. The system of claim 6, wherein the desiredpower value and the desired voltage value are for a source condition,and the operations further comprise: determining that the sourcecondition has changed; and identifying, based on the change in thesource condition, an updated desired power value and an updated desiredvoltage value.
 9. The system of claim 6, wherein the operations furthercomprise: determining that a predefined time duration has ended; andidentifying, based on determining that a predefined time duration hasended, an updated desired power value and an updated desired voltagevalue.
 10. The system of claim 6, wherein the operation of selecting oneor more battery banks from the plurality of battery banks comprises:calculating, for each battery bank in the plurality of battery banks, astate of charge (SOC) and state of health (SOH) of the battery bank;determining, based on the calculated SOC and SOH for each battery bankin the plurality of battery banks, a pool of unselected battery banks;and selecting a particular battery bank from the pool of unselectedbattery banks, wherein: the battery bank with a highest SOC and SOH isselected as the particular battery bank when the battery is dischargedto supply a load, and the battery bank with a lowest SOC and SOH isselected as the particular battery bank when the battery is charged froma source.
 11. A system for power management of a multi-cell battery, thesystem comprising: a battery pack including a plurality of batterycells, wherein the battery cells are arranged in one or more batterybanks; a cell switching circuit including one or more switches, the cellswitching circuit configured to control connecting each of the pluralityof battery cells to form one or more battery banks, and configured tocontrol disconnecting each of the plurality of battery cells from abattery bank; and a battery management system configured to providecontrol signals to the cell switching circuit that control the one ormore switches included in the cell switching circuit.
 12. The system ofclaim 11, wherein the cell switching circuit is further configured tocontrol disconnecting and connecting each of the one or more batterybanks from the battery.
 13. The system of claim 11, wherein the batterycells are connected in parallel to form a battery bank and the batterybanks are connected in series to form the battery.
 14. The system ofclaim 11, wherein the one or more switches included in the cellswitching circuit are metal-oxide-semiconductor field-effect transistors(MOSFETs).
 15. The system of claim 14, wherein a bipolar junctiontransistor (BJT) provides a gate signal to a MOSFET to control turningthe MOSFET on or off to connect or disconnect, respectively, a batterycell in a battery bank.
 16. The system of claim 14, wherein anopto-coupler provides a gate signal to a MOSFET to control turning theMOSFET on or off to connect or disconnect, respectively, a battery cellin a battery bank.
 17. The system of claim 11, wherein the batterymanagement system comprises: a sensing and monitoring circuit configuredto monitor current state values for each of the plurality of batterycells; a control and protection module configured to determine, based onthe current state values for each of the plurality of battery cells,that a particular battery cell should be disconnected from a particularbattery bank or connected to a particular battery bank for charging ordischarging; and a gate signal generation module configured to generateone or more control signals for use by the cell switching circuit whendisconnecting the particular battery cell from the particular batterybank or connecting the particular battery cell to the particular batterybank for charging or discharging.
 18. The system of claim 17, whereinthe battery management system further comprises a model-based state ofcharge (SOC) and state of health (SOH) tracking module configured totrack the SOC and SOH of each of the plurality of battery cells.
 19. Thesystem of claim 18, wherein determining that a particular battery cellshould be connected to or disconnected from a particular battery bank isbased on the SOC and the SOH for the particular battery cell.
 20. Asystem for power management of a multi-cell battery, the systemcomprising: a battery pack including a plurality of battery modules,wherein: a battery module includes multiple battery cells connected inseries or in parallel or in series and in parallel, and the plurality ofbattery modules are arranged in one or more battery banks; a cellswitching circuit including one or more switches, the cell switchingcircuit configured to control connecting each of the plurality ofbattery modules to form one or more battery banks, and configured tocontrol disconnecting each of the plurality of battery modules from abattery bank; and a battery management system configured to providecontrol signals to the cell switching circuit that control the one ormore switches included in the cell switching circuit.
 21. The system ofclaim 20, wherein the cell switching circuit is further configured tocontrol disconnecting and connecting each of the one or more batterybanks from the battery.
 22. The system of claim 20, wherein the batterymodules are connected in parallel to form a battery bank and the batterybanks are connected in series to form the battery.
 23. The system ofclaim 20, wherein the one or more switches included in the cellswitching circuit are metal-oxide-semiconductor field-effect transistors(MOSFETs).
 24. The system of claim 23, wherein a bipolar junctiontransistor (BJT) provides a gate signal to a MOSFET to control turningthe MOSFET on or off to connect or disconnect, respectively, a batterymodules in a battery bank.
 25. The system of claim 23, wherein anopto-coupler provides a gate signal to a MOSFET to control turning theMOSFET on or off to connect or disconnect, respectively, a batterymodule in a battery bank.
 26. The system of claim 20, wherein thebattery management system comprises: a sensing and monitoring circuitconfigured to monitor current state values for each of the plurality ofbattery modules; a control and protection module configured todetermine, based on the current state values for each of the pluralityof battery modules, that a particular battery module should bedisconnected from a particular battery bank or connected to a particularbattery bank for charging or discharging; and a gate signal generationmodule configured to generate one or more control signals for use by thecell switching circuit when disconnecting the particular battery modulefrom the particular battery bank or connecting the particular batterymodule to the particular battery bank for charging or discharging. 27.The system of claim 26, wherein the battery management system furthercomprises a model-based state of charge (SOC) and state of health (SOH)tracking module configured to track the SOC and SOH of each of theplurality of battery modules.
 28. The system of claim 27, whereindetermining that a particular battery cell should be connected to ordisconnected from a particular battery bank is based on the SOC and theSOH for the particular battery module.